#ifndef DISPLAY_H
#define DISPLAY_H

#include <string>
#include <glad/glad.h>
#include <GLFW/glfw3.h>

#include "Util.h"
#include "Input.h"

class Display {
public:
	Display(int width, int height, const std::string title, GLboolean isfullScreen = GL_FALSE);
	GLboolean IsEixt();
	GLvoid Clean();
	GLvoid SwapBuffers();
	GLvoid ChangeMode();
	GLvoid ToggleFullScreen(GLboolean isfullScreen);

	~Display();

	GLfloat deltaTime = 0;
private:
	GLFWwindow* m_window;
	GLfloat lastFrame = 0;
	GLint m_width, m_height;
	GLFWmonitor* m_pMonitor;
	const GLFWvidmode *m_mode;
	GLboolean m_isFullScreen;
	GLboolean m_isWireframeMode = false;
	static GLvoid Framebuffer_Resize(GLFWwindow* window, int width, int height);
};

#endif